home *** CD-ROM | disk | FTP | other *** search
/ Complete Linux / Complete Linux.iso / docs / system / network / aris / beta / release0.bet < prev    next >
Encoding:
Text File  |  1994-01-24  |  23.6 KB  |  616 lines

  1.  
  2.         Installation and Release Notes for NET-2
  3.  
  4.              Version: 0.99.14t NET-2 Rev.E
  5.  
  6.                 BETA===4
  7.  
  8.              Sun, 22 Jan 23:30:00 1994 MET
  9.  
  10.  
  11.         Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
  12.           Johannes Stille, <johannes@titan.os.open.de>
  13.           Matthew Dillon, <dillon@apollo.west.oic.com>
  14.       Fred Baumgarten, <dc6iq@insu1.etec.uni-kalrsruhe.de>
  15.         Alan Cox, <iiitac@pyramid.swansea.ac.uk>
  16.           Terry Dawson, <terry@vk2ktj.ampr.org>
  17.  
  18.  
  19. PREFACE
  20. This document describes what yet has to be done in NET-2, how to install
  21. it, and more of that stuff.  The current NET-2e distribution is a joint
  22. effort mainly by the people mentioned in the header.  A lot of good stuff
  23. also comes from (in no particular order) Fred Baumgarten, Alan Cox and
  24. Florian La Roche.  The distribution is mastered by me (Fred.)
  25.  
  26.  
  27. COPYRIGHTS and POLICIES
  28.  
  29. Although this code can be distributed as per GNU Public License, version
  30. 2, some notes still do apply:
  31.  
  32. - The original NET(-1) code for Linux was written by Ross Biro. Al-
  33.   though far from perfect, we should thank him for donating the code
  34.   to the public, as it took Linux out of the "toy" era.
  35.  
  36. - Many of the internal definitions and such were borrowed from the
  37.   Berkeley UNIX 4.3BSD operating system header files.  This was *NOT*
  38.   done to rip them off, but a way to ensure compatibility with that
  39.   operating system, as it has become the defacto standard for network
  40.   interfaces to UNIX-like kernels.
  41.  
  42. - Some of the definitions found in and used by the AX.25 layer (which
  43.   is not yet distributed with the mainline of NET-2e code) were taken
  44.   from the "KA9Q NOS Internet Package", written and copyrighted by
  45.   Phil Karn KA9Q and a lot of others.  I did this for the same reason
  46.   as above, and was careful *NOT* to use any *code* or data structures
  47.   from the KA9Q package - just value definitions.
  48.  
  49. - The "Van Jacobsen" SLIP header compression code was taken from the
  50.   "reference implementation" as found in the Berkeley UNIX 4.3BSD
  51.   operating system sources.  From there it was ported to the KA9Q
  52.   package, which implementation was again ported and enhanced by
  53.   Chuck Hedrick of Rutgers University.  See the COPYRIGHT file in
  54.   the net/drv/slip directory for details.
  55.  
  56. - The "BECKER" series of ethernet device drivers were written by
  57.   Donald J. Becker from the Supercomputing Research Center (SRC);
  58.   this code is copyrighted by and licensed from SRC. See the
  59.   COPYRIGHT file in the net/drv/becker directory for details.
  60.  
  61. - The remainder of the code was mostly written by me, with a lot
  62.   of other people contributing fixes, additions and moral support.
  63.   Most of us are gathered together (well, sometimes that is :-) on
  64.   the NET Channel of the Linux-Activists mailing list.  Their names
  65.   can be found in the 'PREFACE' section above, and in the headers
  66.   of the various source files.  Thanks, All!!!
  67.  
  68.  
  69.  
  70. INSTALLATION NOTES - Ten Steps To Happiness
  71.  
  72. You'd better read these instructions before installing the NET-2e
  73. software on your machine.  I will basically ignore you if you come
  74. up with complaints caused by not reading this...
  75.  
  76.  
  77. Step 1    Unpacking.
  78.     Create a source directory called /usr/src/linux, and unpack
  79.     the standard kernel source there.  The NET-2e patches are
  80.     now based on the 0.99.14 ALPHA-t kernel source.
  81.  
  82. Step 2    Preparing.
  83.     Remove the complete "net" and "drivers/net" subtrees of the
  84.     kernel sources, plus the "net" entry from "drivers/Makefile".
  85.     Yes, really.  Trust me, I know what I am doing... <GRIN>
  86.     Remove the /usr/include/linux/{net.h, icmp.h, tcp.h and
  87.     udp.h} include files, as they are unused now...
  88.  
  89. Step 3    Patching.
  90.     If you are using a patch file (only the main NET-2 developers
  91.     get complete kernels), apply it with:
  92.     
  93.         cd /usr/src
  94.         patch -p0 <patch_file
  95.  
  96.     and check the results.  Remove any '.orig' files.  Beware of
  97.     any ".rej" files!!!!!!
  98.  
  99. Step 4    Configuration of Features.
  100.     Check the "net/inet/inet.h" file for the "NET feature selection"
  101.     section, and select the desired options.  Usually, this means:
  102.  
  103.         IP_HAVE_GW    1    /* enable IP gatewaying        */
  104.         IP_GW_SAME    1    /* see comment in ip_forward()    */
  105.         IP_HAVE_OPTS    0    /* enable IP option processing    */
  106.         SK_BSD_BUG    0    /* emulate BSD 'ftp' bug    */
  107.         ICMP_PINGBC     0    /* reply to broadcast ECHO rq's */
  108.         TCP_DELAY_ACK    0    /* default TCP "ack" beheviour    */
  109.  
  110.     Also: always *use* a kernel that had NETDBG (see below) #undef'ed,
  111.     as it takes a lot of CPU time to process all them debugging calls.
  112.     Make sure you have an identically configured kernel around, which
  113.     has this option enabled.  Software authors like to get a nice set
  114.     of "trace output" dumps when bug reports come in...
  115.  
  116.     If you want ICMP to respond to broadcast addresses (which I
  117.     personally don't think is wise, so I disabled it by default)
  118.     set the ICMP_PINGBC macro to `1' rather than the default '0'.
  119.  
  120.     The TCP "ack" behaviour is a weird thing.  Some systems like
  121.     to delay sending ACK packets for a while, so if the sender is
  122.     sending data reasonably fast, it can "piggyback" the ACK info
  123.     on it.  However, this *can* cause slowness too (which I do
  124.     expercience on my network), so I left it a compile-time option.
  125.     Note that many MS-DOS based TCP/IP stacks need this feature to
  126.     prevent randon TCP lockups from happening.
  127.  
  128. Step 5    Configuring The Drivers.
  129.     Check the definitions in "net/Space.c", which set up the
  130.     various TCP/IP networking device drivers.  Note that this only
  131.     concerns I/O values and such, not the actual selection of the
  132.     drivers.  That is done at the top level "make config".
  133.  
  134. Step 6    Sex !
  135.     Check the contents of your /usr/include/endian.h file.  If it
  136.     is one of the older versions (a very small file), you have to
  137.     add a line reading:
  138.     --------
  139.     #define __BYTE_ORDER 1234
  140.     --------
  141.     to it, otherwise the kernel will not work.  Better is to upgrade
  142.     your library and header files to a newer one (I use 4.4.4) first.
  143.  
  144. Step 7    Making The Kernel.
  145.     Make config && depend:
  146.  
  147.         # cd /usr/src/linux
  148.         # make mrproper
  149.         # make config
  150.         # make depend
  151.         # make 
  152.  
  153.     This should leave you with a NET-2e Linux kernel.  Before
  154.     rebooting, you will also have to unpack, compile and install the
  155.     NET-2e base utilities (ifconfig and such) on your system first.
  156.  
  157. Step 8    The Utilities.
  158.     Unpack the "net-0.32.tar.gz" file in some directory, and
  159.     type "make install".  This will check your NET-2e setup (and, if
  160.     needed, create some dummy header files which are not yet part of
  161.     the LIBC release right now), and then compile the commands.
  162.  
  163.     After the compile, it will copy the commands to the correct
  164.     directories, and (NOTE THIS !!!) INSTALL THE DEVICE ENTRIES
  165.     IN /DEV !!!!
  166.  
  167.     I get many messages a week, telling me that "ifconfig" says
  168.     it cannot open some file called /dev/net/socket.  This is
  169.     correct, but you should have typed "make install". So, it
  170.     is your own fault :-)
  171.  
  172. Step 9    Check...
  173.     Make sure your new configuration files are changed for the
  174.     new syntax of the NET-2e system.  This only applies if you
  175.     are upgrading from a standard kernel.
  176.  
  177. Step 10    BOOM!
  178.     Hit the button.
  179.  
  180.  
  181. EXPECTED
  182.  
  183. The next release (BETA-5) will have even more of the new drivers by
  184. Don Becker, and probably the expercimental PPP driver as well.  Also,
  185. it is expected that Alan Cox' IPX layer will be ported by then.
  186.  
  187.  
  188. QUESTIONS, BUG REPORTS
  189.  
  190. If you experience problems, first take a *GOOD* look at your setup,
  191. and make sure it is correct.  If that seems OK, check out the NET-2
  192. HOWTO, which should be included with the net-0.30 sources.  If the
  193. answer is not there (which is possible, since the HOWTO does not
  194. fully describe the NET-2e system), send a message to the NET channel
  195. of the Linux-Activists mailing list:
  196.  
  197.     linux-activists@niksula.hut.fi
  198.  
  199. with the line 'X-Mn-Key: NET' as the first line of your message.
  200. Make sure you include the kernel version info, NET-2 and base utils
  201. version info, and (if available) output from the "ifconfig -a",
  202. "arp -a" and "route -n" commands.
  203.  
  204. Contact Terry Dawson (vk2ktj@vk2ktj.ampr.org) if you found or got
  205. an answer to your question, so he can update the HOWTO with your
  206. info.
  207.  
  208.  
  209.  
  210. FAN MAIL
  211.  
  212. If after using this software you still feel the need to contact me,
  213. please do so.  However, note that:
  214.  
  215. - bomb letters and flames give me headaches, so I hired a Personal
  216.   GhostWriter to handle those.  He is known for his very agressive
  217.   replies, so be warned in advance...
  218.  
  219. - the Dutch PTT is not one of the cheapest ones around (actually, it
  220.   is the only one around here, so we don't have a choice...), and it
  221.   it the only way for me to keep in touch with The World.  All this
  222.   means that I have to pay a damn lot of money to get my mail, answer
  223.   it and even for testing out the new software and uploading it to
  224.   the various sites.  If you want to help me pay my phone bills, I
  225.   would appreciate it.  But *PLEASE* do *NOT* send me dollar bills
  226.   or other cash money, as I cannot guarantee their safe arrival. The
  227.   best thing to do is to either contact me first, or (if you live
  228.   in the United States of America) contact Russ Nelson of Crynwr
  229.   Software (nelson@crynwr.com) or Dr. Michael Stokes of the Miss.
  230.   State University (stokes@erc.msstate.edu) on a HOWTO.  Sending
  231.   your dollarbill to their US mail address is safer than sending it
  232.   to my home address, really....
  233.  
  234.   I might consider making the next release of NET-2 "shareware" :-)
  235.  
  236. - if you have any ideas for making the NET-2e code better, or want
  237.   to write a piece of code for it: great!  Email, call or visit me!
  238.  
  239.  
  240.  
  241. KNOWN BUGS
  242.  
  243. Several known bugs remain:
  244.  
  245. - No IP Option Processing yet.
  246.  
  247. - No packets larger than approx. 3900 bytes.  This mostly concerns NFS
  248.   operation using the UDP protocol.
  249.  
  250.   Work is underways to get this (and the "Option Processing") problem
  251.   out of the way, so do not despair...
  252.  
  253. - TCP Urgent Data (rlogin !) still seems to be broken.  It works for me,
  254.   but that doesn't mean it will always work for everyone...  Alan just
  255.   sent me a note telling that he might have found what causes this..
  256.  
  257.  
  258. TODO according to NET-2Debugged:
  259.  
  260. -    destroy_sock can still destroy a wait queue before processes remove
  261.     themselves from it causing memory corruption or crashes in the
  262.     scheduler. You can't just wake_up() and free the wait queue or risk
  263.     the wait queue being freed until empty because processes remove 
  264.     themselves from it when they next run! (semi *)
  265. -    sock_destroy can be called by a timer. If this happens as getsock()
  266.     scans the list - or as the socket is returned by getsock() then you
  267.     lose messily. sock_destroy can only be done by a timer if inet_bh
  268.     (sorry net_bh) is not currently running. I lock all things out for
  269.     this which is OTT but works.
  270. -    The memcpy_to/fromfs paging races with MSG_PEEK are still present
  271.     (but Fred knows about this)
  272.  
  273. MODIFICATIONS LOG
  274.  
  275. - This release of the NET-2 software has been totally re-organized as a
  276.   set of layers and services, to be better prepared for multiple proto-
  277.   col modules in the kernel, and to allow for easy addition and instal-
  278.   lation of new device drivers.
  279.  
  280. - DDI has been implemented on the "standard" device drivers, and most of
  281.   them can now be configured at boot time.
  282.  
  283. - Added Chuck Hedrick's modifications to the INET layer, and added his
  284.   SLHC additions to the SLIP driver.
  285.  
  286. - Added the patches for TraceRoute, and added this program to the
  287.   NET-EXTRA distribution in patched form.
  288.  
  289. - Moved the general stuff from the routing table to an upper level,
  290.   allowing the DEV module to flush any routes for a particular device.
  291.  
  292. - PLIP has been merged with the other versions, and should work now.
  293.   I got reports from test sites that PLIP worked on their systems,
  294.   giving throughputs of about 22Kbyte/sec.  Not bad...
  295.  
  296. - Added Florian La Roche's new timer code, and added Linus Torvalds'
  297.   additions as well.  The old-style timer code (static timers) is gone
  298.   completely now.
  299.  
  300. - Added lots of changes by Johannes Stille, including the memory-counter
  301.   fixes, fixes for the ARP race conditions, and changes allowing the
  302.   LOOPBACK driver to *not* have to copy its packets anymore.
  303.  
  304. - Added Erik Schoen's ICMP fixes.  This means that TraceRoute requests
  305.   work again, and we now support TimeStamp requests.
  306.  
  307. - Added many of Alan Cox' changes which fixed the misusage of the
  308.   verify_area() call, a lot of FREE_READ->FREE_WRITE calls and some
  309.   `volatile' keywords in linked-list management (skbuff and sock.)
  310.  
  311. - Added Fred Baumgarten's work on TCP/IP retransmits, the PLIP driver
  312.   (added statistics!) and more of that.
  313.  
  314. - Added even more of Alan's work, pertaining to TCP and UDP socket
  315.   handling.  ICMP-probs should be fixed now!
  316.  
  317. - Fixed a problem in ARP /proc output (wrong-order HW type).
  318.  
  319. - Changed the lower-level module interfaces to use 'struct sockaddr'
  320.   rather than 'unsigned char *' for passing hardware addresses, and
  321.   changed <linux/if.h> accordingly.
  322.  
  323. - Added a KISS driver for AX.25 users.  Not completely done yet, but
  324.   it already works fine.  Thanks to Terry for the specs!
  325.  
  326. - Added a very basic AX.25 socket layer for AX.25/NETROM users. This
  327.   is not finished by long, but it's a start.  Again, thanks to Terry
  328.   for sending me the specs.
  329.  
  330. - Changed the "base utils" to reflect the changes above, and started
  331.   on a "modularity support library" lib there.
  332.  
  333. - Changed the *VALUES* of the socket I/O controls.  This means that
  334.   you have to recompile all binaries that use these calls- Sorry :-(
  335.  
  336. - Applied some more patches from Johannes Stille, fixing typos, a very
  337.   nasty bug in the ARP cache handler (thanks to Anthony Rumble too!!!),
  338.   some patches for the PLIP driver, and patches that hopefully fix the
  339.   "netmask" problem people were having with non-8-bit netmasks.
  340.  
  341. - Applied two patches from Matt Dillon that fix problems with multi-
  342.   homes hosts which get connected using "wrong" addresses, and a patch
  343.   that re-fixes the "route xxx gw xxx" problem.  I must have screwed
  344.   this patch earlier...
  345.  
  346. - More patches from Johannes, fixing PLIP (again), DDI-ing D-Link,
  347.   and adding cli/sti protection around the (now-volatile) "inuse"
  348.   fields of the ARP cache and queue structures.
  349.  
  350. - Received the DEPCA driver, will port it to NET-2.
  351.  
  352. - Nuked Matt's 'gw' patch - this is already checked for in the lower
  353.   protocol levels, which is why I scrapped it originally I think.
  354.  
  355. - Fixed the call to arp_find() in inet/ip.c to first set up the desired
  356.   hardware type - otherwise ARP barfs about unsupported HW types, causing
  357.   huge ping times.  Thanks Matt, Ted && Me !
  358.  
  359. - Added Matt Dillon's SLIP6 encapsulation for SLIP, and added the lost
  360.   "AF_UNIX" ioctl fix.
  361.  
  362. - Fixed small bug in inet/route.c (rt_mask()) which caused the netmask
  363.   of the "default" route to be 0x0000.  This forces the router to put
  364.   this route in front of all routes, making it match always.
  365.  
  366. - Also fixed small bug (caused by my new "route" command) that caused
  367.   the default route to be a "host" route, rather than a network route.
  368.   I now force the NETWORK status of this route in the kernel.
  369.  
  370. - Added support for the "metric" argument of the "route" command. This
  371.   means that all NET binaries that rely on the size of the "rtentry"
  372.   structure be recompiled.
  373.  
  374. - Added the BSD 4.4 "rt_genmask" field, which allows faster routing
  375.   on subnets.  Still in testing phase...
  376.  
  377. - Added some small fixes from Johannes.  Fixed the kfree_s(sk, sizeof(sk))
  378.   bug.
  379.  
  380. - Added a patch from Matt Dillon that (should) fix the problem we were
  381.   having with the "much output" locks on TCP sockets.  It appeared that
  382.   the generic packet pool handler could muck up the "output queue" of
  383.   an interface in some circumstances (heavy traffic.)
  384.  
  385. - Added patches from Rick Sladkey that should fix the various RPC and/or
  386.   NFS problems with Linux NET-2 from other platforms.  This patch changes
  387.   the implementation of the inet/sock.c, get_sock() function - the weird
  388.   UDP check is now cleaned up.  Also, the UNIX domain sockets now return
  389.   the proper value when writing to sockets with no readers - this used
  390.   to be EINTR, but is EPIPE now.  Also, little fix to TCP that corrects
  391.   the sending of the SIGPIPE signal with writing to sockets.
  392.  
  393. - Added fix from Johannes to remove the "sk->mtu" field from the TCP
  394.   layer, and to use an "sk->mss" field instead.  We are working towards
  395.   a data structure that will allow the use of runtime-settable TCP and
  396.   IP parameters, mostly for sloowww networks (AMPR !) and SNMP agents.
  397.  
  398. - Added a small fix for the SLIP driver, which should hopefully clean
  399.   up the remaining bad packet bugs there.  Thanks Jim!
  400.  
  401. - Added patches from Michael Riepe <riepe@ifwsn4.ifw.uni-hannover.de>
  402.   that fix the checksum problems we were having with lossy lines like
  403.   SLIP.
  404.  
  405. - Collected the required RFC documents for all protocols supported in
  406.   the NET-2 layer.  This should make protocol conformance checking a
  407.   damned lot easier...
  408.  
  409. - Added Matt Dillon's "skb copy" patches.  This fixes a potential
  410.   problem in the packet handling routines, and it adds the skb_duplicate()
  411.   function.
  412.  
  413. - Upgraded to Linux 0.99.13p, as Linus called this one "allright"
  414.   over dinner last night.  Haha, we'll see about that...
  415.  
  416. - Upgraded to Linux 0.99.13q.  Release "p" wasn't as good as I hoped
  417.   it would be :-)
  418.  
  419. - Added Alan Cox' "TCP Short Write" fix.
  420.  
  421. - Ahhh... finally fixed the TCP freezing bug that kept me from releasing
  422.   the BETA-2 code to The World.  Added a lot of other stuff from Matt
  423.   Dillon, including his Skb Tracking code.  Good work, Matt!
  424.  
  425. - Added in-use field to the IP fragment queue, so we can lock such a
  426.   queue as soon as we're going to mess with it.
  427.  
  428. - Several patches from Matt to post-kick ARP if a packet is queued
  429.   just after an ARP REPLY for that address came in.  Some TCP race
  430.   conditions fixed by adding a new field to the "sock" structure.
  431.  
  432. - Several patches from Johannes that dealt with typos, minor problems
  433.   and a massive changes that make IP routing a lot faster by elimina-
  434.   ting the dual routing table loop.
  435.  
  436. - More typo fixes from Alan and Johannes, and added Alan's fix so a
  437.   socket gets decently released if the system has no free pages left.
  438.   Also, added Alan's "IP forwarding fragments" fixes, to make sure
  439.   that if we have to fragment incoming datagrams that are in itself
  440.   fragments (aii, what a sentence this is!) we preserve the "MF" of
  441.   the original final fragment.  Yikes!
  442.  
  443. - Upgraded to Linux 0.99.13r.
  444.   Complete rewrite of the Release Notes.
  445.  
  446.   ================================ BETA-3 ==================================
  447.  
  448. - Fixed the IP forwarding bugs, as per message from Alan Cox. I indeed
  449.   something funny was going on there, and I was correct...
  450.  
  451. - Added Alan's SO_LINGER stuff.
  452.  
  453. - Fixes from Matt applied to the TCP layer.
  454.  
  455. - OKOK, so Alan didn't do the "IP forwarding fragments" code. Gerhard
  456.   Koerting did :-( sorry, Gerhard...
  457.  
  458. - Changes to the Installation Notes - the B2 distribution was a mess.
  459.  
  460. - Added Pauline Middelink's (hey, don't I know this woman? :-) support
  461.   for the pidentd stuff.
  462.  
  463. - Used various NET-2Debugged fixes as per Alan Cox' bug list.
  464.  
  465. - Fixed the tcp_options option names.
  466.  
  467. - Moved the NETDBG macro to the configuration section, so changed all
  468.   files accordingly.  Note that this makes recompilation of the kernel
  469.   slower, as all NET files will be recompiled...
  470.  
  471. - Changed the ICMP error handler interface a bit to clean up things
  472.   even more.  Pity though that it still doesn't seem to work :-(
  473.  
  474. - Ported to 0.99.14, which has the <linux/major.h> include file. Added
  475.   an entry for Alan's IPX module to the Space.c file.  Added all PL14
  476.   "config.in" network device entries, and started the device driver
  477.   port to NET-2e, with help from Donald.
  478.  
  479. - Added comment in net/inet/sock.c:sys_bind() about one check in there
  480.   causing certain kinds of BSD-ish server programs to fail on the
  481.   bind(2) call.  I found this with the syslogd 5.27 :-(
  482.  
  483. - Added the NET-2Debugged "IP check forward network" patch as a new
  484.   configurable option in "inet.h."  See installation notes above.
  485.  
  486. - Added Matt's TCP "diff" and "window subtraction" fixes.
  487.  
  488. - Added Johannes' patches for IP, TCP and RAW.  This should fix the
  489.   "delayed ACK" syndrome, amongst others.
  490.  
  491. - Upgraded to Linux 0.99.14 ALPHA-c.
  492.  
  493. - Added more patches from Matt to check out the TCP-over-loopback
  494.   problems.  With the latest ones installed, it seems to work OK
  495.   again.
  496.  
  497. - Changed the "loopback" driver to copy its packets again- see item
  498.   above.
  499.  
  500. - Some timing constants changed in the INET modules, as per Matt. Also,
  501.   added a oneliner to prevent SLIP packets from corrupting an "skb->len"
  502.   field.
  503.  
  504. - Added RARP capabilities to the ARP protocol module, based on patches
  505.   sent to me by Ross Martin, <martin@trcsun3.eas.asu.edu> .
  506.  
  507. - Fixed and tested RARP.  Works great now.  Time to release the current
  508.   code as BETA-3....
  509.  
  510. - Many small fixes, changes etc all over.
  511.  
  512.   ================================ BETA-4 ==================================
  513.  
  514. - Fixed the "CONFIG_DE600" vs. "CONFIG_DLINK" problem in net/Space.c.
  515.  
  516. - Added <linux/if_ether.h> additions for ETH_P_AX25 - the use of a
  517.   "dummy" packet value (0x0002, in this case) is better than choosing
  518.   a completely random value.
  519.  
  520. - Restyled the NET-2 "Makefile"s into auto-config mode.  You don't
  521.   need to change the Makefile if you add a device driver or protocol
  522.   module anymore now: Makefile checks it out on its own... :-)
  523.  
  524. - Added NET-2Debugged [1.27] "icmp" fix for sending replies to ICMP
  525.   messages.
  526.  
  527. - Added NET-2Debugged [1.27] "inet/proc" fix for prevent kernel
  528.   panics while dereferencing dead sockets.
  529.  
  530. - Added NET-2Debugged [1.27] "inet/sock" cleanups.
  531.  
  532. - Fixed up all those MAJOR_DEV confusions in the DRIVERS directories.
  533.  
  534. - Added KISS to the set of standard drivers.  *YEAH* !
  535.  
  536. - Cleanup of the source files (addresses, names etc.)
  537.  
  538. - Added Johannes' 4 batches with changes to the B3 system.
  539.  
  540. - OOps- fixed a lost patch from Johannes.
  541.  
  542. - Upgraded to PL14 ALPHA-g.  Which, BTW, doesn't work right.
  543.  
  544. - Lotsa cleanups.
  545.  
  546. - Fixed some "source address" problems in IP and the INET protocols.
  547.  
  548. - As said before, PL14g didn't work.  Upgraded to 14h, which works.
  549.  
  550. - DEPCA driver port.  Bwahh, C++ in a device driver.  What a mess..
  551.  
  552. - Finally continued porting Donald's drivers.  WD works now (I use
  553.   it), and NE and HP compile, too.  SMC Ultra is reported to work.
  554.  
  555. - Upgraded Donald's stuff to the most recent (14j) code, and upgraded
  556.   the kernel too.  Need to wait with the iow.h->asm/io.h stuff.
  557.  
  558. - Fixed the ARP "PERM" deletion bug.
  559.  
  560. - Added PROXY ARP capabilities.  Yeah!
  561.  
  562. - Upgraded to Linux 0.99.14 ALPHA-o.  Does anyone know why we had
  563.   to skip ALPHA-n ??
  564.  
  565. - Fixed small bug in <inet/raw.c> : we filled in the wrong IP source
  566.   address for RAW (i.e. Traceroute) packets.
  567.  
  568. - Upgraded to 0.99.14 ALPHA-p.  A lot of 2-Debugged stuff here, so I'll
  569.   have to start merging again:
  570.  
  571.     + Used the sk->tos and sk->ttl code
  572.     + Used the sk->rcvbuf and sk->sndbuf code
  573.     + Used the new socket options code
  574.     + Zapped out some old code
  575.  
  576.   NOT used:
  577.  
  578.     + Callback code
  579.  
  580. - Hurray, applied Matt's fix for the irritating CONNREFUSED bug.
  581.  
  582. - ... and Johannes' fix for the "ICMP redirect" problem.
  583.  
  584. - ... and FINALLY fixed the damn "ICMP fatal error" not working
  585.   problem.  TCP and UDP now abort the connection in progress if
  586.   they get an ICMP fatal error.
  587.  
  588. - Added Fred Baumgarten's new PROC stuff which fixes the <OOPS>
  589.   problems related to the /proc reading.  Also, it fixes one small
  590.   problem in TCP calculating wrong MSS'es.
  591.  
  592. - Upgraded to Linux 0.99.14q.
  593.  
  594. - Upgraded to Linux 0.99.14s.
  595.  
  596. - Fixed lotsa small things, guided by Johannes' comments and several
  597.   crashes of my home machine, 'metallica.'
  598.  
  599. - Whaaahh.  Quickly fixed up the damn TTL f*ckup, and introduced the
  600.   new "ip_parms" structure to go with it.   This will, soon, allow
  601.   operators to set the IP operating values for the system from runtime,
  602.   without the need to recompile the kernel.  I will make this a system-
  603.   wide feature.
  604.  
  605. - Added Fred Baumgarten's new KISS driver, which includes RMNC and SMACK
  606.   CRC modes.
  607.  
  608. - Moved all KISS and AX.25 code into a new, separately available package
  609.   to allow more frequent updates of that layer.  Send a message to
  610.  
  611.     net-ax25-request@aris.com
  612.  
  613.   for more info on this package.
  614.  
  615.   ================================ BETA-5 ==================================
  616.